try:
    # 尝试执行的代码
    result = 10 / 0
except ZeroDivisionError:
    # 处理特定类型的异常，在将错误信息发送邮件给开发人员
    print("除数不能为零")

# 当程序执行到需要用户来输入一些数据时，可能会不小心输入了错误的数据，导致程序报错，
# 需要使用异常处理来解决，保证程序不会报错，程序能继续执行
while True:
    try:
        # 可能会出错的代码放到try中，不会出错的也可以放try中
        x = input("请输入一个数字：")
        y = 3
        print(int(x) + y)
    # 精确的预估错误类型，可以精确的写错误类型
    # except ValueError as e: # 预估可能会出现的错误，如果预估不到呢？可以统一使用Exception
    except Exception as e:
        # 错误的代码放到except中，当try中的代码出错时，会执行except中的代码
        print("你输入的不是数字，请重新输入")
        continue
    else:
        # 当try中的代码没有出错时，会执行else中的代码
        print("程序没有出错")
        break
# print(x + y)
print("程序执行结束")